/*****************************************************************
**                大连理工大学 凌BUG战队
**                **生死有命，富贵在天**
**    没有什么难题是一个通宵解决不了的，如果有那就整两个！
**---------------------------------------------------------------
** 项目名称：   mxdemo_std_robot
** 日    期：   2021-04-15
** 作    者：   MasterWang
**---------------------------------------------------------------
** 文 件 名：   music.h
** 文件说明：   蜂鸣器播放音乐和提示音
*****************************************************************/
#ifndef MUSIC_H
#define MUSIC_H

/*---------------------INCLUDES----------------------*/
#include "main.h"

/*---------------------DEFINES-----------------------*/
//
#define PLAYING_STOP 0
#define PLAYING_INIT_MUSIC 1

#define PLAYING_WARNING_SOUND 11
#define PLAYING_ERROR_SOUND 12

#define PLAYING_GYROCALIB_SOUND 21
#define PLAYING_AUTOAIMING_SOUND 22

/*---------------------DECLARES----------------------*/
//
extern uint8_t buzzer_state;

//
extern const uint16_t song_littlestar[];
extern const uint16_t song_happybirthday[];
extern const uint16_t song_eastred[];

extern const uint16_t song_robomasteryou[];
extern const uint16_t song_robomasteryou2[];
extern const uint16_t song_robomasterlickdog[];

//
extern const uint8_t sound_warning[];
extern const uint8_t sound_error[];
extern const uint8_t sound_gyrocalibrating[];
extern const uint8_t sound_autoaiming[];

//
extern void SetBuzzerOff(void);
extern void SetBuzzerFrequence(uint16_t freq);

//
extern int8_t SetBuzzerState(uint8_t state);
extern void PlayingSong(const uint16_t *song, uint16_t len);
extern void PlayingSound(const uint8_t *sound, uint16_t len);


#endif
